package com.wangle.jdbc.mysql.transaction;

/**
 * 事务的隔离级别
 */
public class TransactionIsolationLevel {


    /**
     * 隔离级别                              脏读               不可重复读           幻读
     *
     * 读为提交（read uncommitted）            √                    √                √
     * 读已提交（read committed）              x                    √                √
     * 可重复读（repeatable read）             x                    x                √
     * 串行化（serializable）                  x                    x                x
     */
    void transactionLevel(){

        System.out.println("读为提交（read uncommitted");
        System.out.println("读已提交（read committed");
        System.out.println("可重复读（repeatable read）");
        System.out.println("串行化（serializable）");
    }


    /**
     * 查看数据库的事务隔离级别
     */
    void seeTransactionIsolationLevel(){
        System.out.println("select @@transaction_isolation");
    }

    /**
     * 设置数据库的事务隔离级别
     */
    void setTransactionIsolation(){
        System.out.println("set session transaction isolation level #{level}");
    }
}
